package com.spic.business.train.plan.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;

/**
 * YearPlanExcel
 *
 * @author xuxiaochang@chinasofi.com
 * @date 2022/7/17
 */
@Getter
@Setter
@EqualsAndHashCode
@ToString
@TableName("train_plan_year")
public class YearPlanExcel
{
    @ExcelIgnore
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    @ExcelIgnore
    private String year;

    @ExcelProperty(index = 0)
    private String trainType;
    @TableField(exist = false)
    @ExcelProperty(index = 1)
    private String num;

    @ExcelProperty(index = 2)
    @TableField(exist = false)
    private String deptName;

    @ExcelIgnore
    private Long trainDept;

    @ExcelProperty(index = 3)
    private String trainName;

    @ExcelIgnore
    @TableField(exist = false)
    private String trainMethodCode;

    @ExcelProperty(index = 4)
    private String trainMethod;

    @ExcelIgnore
    @TableField(exist = false)
    private String chooseWayCode;

    @ExcelProperty(index = 5)
    private String chooseWay;

    @ExcelProperty(index = 6)
    private String trainer;

    @ExcelProperty(index = 7)
    private String trainPlace;

    private String trainMechanism;

    @ExcelProperty(index = 8)
    private String trainPersoneel;

    @ExcelProperty(index = 9, converter = CustomConverter.class)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_INT)
    private String leader;

    @ExcelProperty(index = 10, converter = CustomConverter.class)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_INT)
    private String middleLeader;

    @ExcelProperty(index = 11, converter = CustomConverter.class)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_INT)
    private String commonLeader;

    @ExcelProperty(index = 12, converter = CustomConverter.class)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_INT)
    private String workLeader;

    @ExcelProperty(index = 13, converter = CustomConverter.class)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_INT)
    private String safer;

    @ExcelProperty(index = 14, converter = CustomConverter.class)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_INT)
    private String staff;

    /**
     * 承包商
     */
    @ExcelProperty(index = 15, converter = CustomConverter.class)
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_INT)
    private String contractor;

    @ExcelProperty(index = 16 , converter = CustomConverter.class)
    @TableField("people_number")
    private String totalPerson;

    @ExcelProperty(index = 17)
    @TableField(exist = false)
    private String startEndMonth;

    @ExcelIgnore
    private String beginMonth;

    @ExcelIgnore
    private String endMonth;


    @ExcelProperty(index = 18, converter = CustomConverter.class)
    @TableField("class_number")
    private String classNum;

    @ExcelProperty(index = 19, converter = CustomConverter.class)
    @TableField("day_number")
    private String dayPerClass;

    @TableField("class_hour_number")
    @ExcelProperty(index = 20, converter = CustomConverter.class)
    private String hourPerDay;

    @ExcelProperty(index = 21, converter = CustomConverter.class)
    @TableField("total_school_hour")
    private String totalHours;

    /** 讲课酬金 */
    @ExcelProperty(index = 22, converter = CustomConverter.class)
    private String lectureFee;

    /** 培训费 */
    @ExcelProperty(index = 23, converter = CustomConverter.class)
    private String trainingFee;

    /** 差旅费 */
    @ExcelProperty(index = 24, converter = CustomConverter.class)
    private String travelExpenses;

    /** 资料费 */
    @ExcelProperty(index = 25, converter = CustomConverter.class)
    private String dataDee;

    /** 其他费用 */
    @ExcelProperty(index = 26, converter = CustomConverter.class)
    private String otherFee;

    /** 总费用 */
    @ExcelProperty(index = 27, converter = CustomConverter.class)
    private String totalCost;

    @ExcelIgnore
    @TableField(exist = false)
    private String assessmentMethodCode;

    @ExcelProperty(index = 28)
    private String assessmentMethod;

    private Long deptId;

    private String createBy;

    @ExcelIgnore
    private Date createTime;

}
